var task1 = threads.disposable();
var task2 = threads.disposable();
//启动子线程1计算
threads.start(function(){
    var s = 0;
    //从1加到10000
    for(var i = 1; i <= 10000; i++){
        s += i;
    }
    sleep(1000)
    //通知task1接收结果
    task1.setAndNotify(s);
});

//启动子线程2计算
threads.start(function(){
    //blockedGet()用于等待结果
    log("task1 over, s = " + task1.blockedGet()); //直到task1完成后，才执行

    var t = 0;
    //从1加到10000
    for(var j = 1; j <= 20000; j++){
        t += j;
    }
    sleep(1000)
    //通知task2接收结果
    task2.setAndNotify(t);
});

//启动子线程3计算
var task3 = threads.start(function(){
    //blockedGet()用于等待结果
    log("task2 over, j = " + task2.blockedGet()); ////直到task3完成后，才执行

    var t = 0;
    //从1加到10000
    for(var j = 1; j <= 20000; j++){
        t += j;
    }
    sleep(1000)
    log("task3 over ")
});

//监听 音量键关闭脚本
threads.start(function(){
    //在子线程中调用observeKey()从而使按键事件处理在子线程执行
    events.observeKey();
    events.on("key_down", function(keyCode, events){
        //音量键关闭脚本
        if(keyCode == keys.volume_up){
            log("关闭脚本运行")
            exit();
        }
    });
});

log("1111")

task3.join(); //直到task3完成后，才执行
log("main run over")
